home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CCCCGGGGBBBBFFFFAAAA((((3333FFFF)))) CCCCGGGGBBBBFFFFAAAA((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- CGBFA - CGBFA factors a complex band matrix by elimination.
-
- CGBFA is usually called by CGBCO, but it can be called directly with a
- saving in time if RCOND is not needed.
-
-
- SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
- SUBROUTINE CGBFA(ABD,LDA,N,ML,MU,IPVT,INFO)
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- On Entry
-
- AAAABBBBDDDD COMPLEX(LDA, N)
- contains the matrix in band storage. The columns
- of the matrix are stored in the columns of ABD and
- the diagonals of the matrix are stored in rows
- ML+1 through 2*ML+MU+1 of ABD .
- See the comments below for details.
-
- LLLLDDDDAAAA INTEGER
- the leading dimension of the array ABD .
- LDA must be .GE. 2*ML + MU + 1 .
-
- NNNN INTEGER
- the order of the original matrix.
-
- MMMMLLLL INTEGER
- number of diagonals below the main diagonal.
- 0 .LE. ML .LT. N .
-
- MMMMUUUU INTEGER
- number of diagonals above the main diagonal.
- 0 .LE. MU .LT. N .
- More efficient if ML .LE. MU . On Return
-
- AAAABBBBDDDD an upper triangular matrix in band storage and
- the multipliers which were used to obtain it.
- The factorization can be written A = L*U where
- L is a product of permutation and unit lower
- triangular matrices and U is upper triangular.
-
- IIIIPPPPVVVVTTTT INTEGER(N)
- an integer vector of pivot indices.
-
- IIIINNNNFFFFOOOO INTEGER
- = 0 normal value.
- = K if U(K,K) .EQ. 0.0 . This is not an error
- condition for this subroutine, but it does
- indicate that CGBSL will divide by zero if
- called. Use RCOND in CGBCO for a reliable
- indication of singularity. Band Storage
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- CCCCGGGGBBBBFFFFAAAA((((3333FFFF)))) CCCCGGGGBBBBFFFFAAAA((((3333FFFF))))
-
-
-
- If A is a band matrix, the following program segment
- will set up the input.
- ML = (band width below the diagonal)
- MU = (band width above the diagonal)
- m = ML + MU + 1
- DO 20 J = 1, N
- I1 = MAX0(1, J-MU)
- I2 = MIN0(n, J+ML)
- DO 10 I = I1, I2
- K = I - J + M
- ABD(K,J) = A(I,J)
- 10 CONTINUE
- 20 CONTINUE
- This uses rows ML+1 through 2*ML+MU+1 of ABD .
- In addition, the first ML rows in ABD are used for
- elements generated during the triangularization.
- The total number of rows needed in ABD is 2*ML+MU+1 .
- The ML+MU by ML+MU upper left triangle and the
- ML by ML lower right triangle are not referenced. LINPACK. This
- version dated 08/14/78 . Cleve Moler, University of New Mexico, Argonne
- National Lab. Subroutines and Functions BLAS CAXPY,CSCAL,ICAMAX Fortran
- ABS,AIMAG,MAX0,MIN0,REAL
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-